package persistentie;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import domein.Gebruiker;
import exceptions.WrongLoginException;

public final class GebruikerMapper {
	public GebruikerMapper() {

	}
	public void addGebruiker(Gebruiker gebruiker) {

	}						

	public final Gebruiker getGebruiker(String login) throws WrongLoginException, Exception {
		Connection cxn = Database.getInstance().getConnection();
		try{
			Statement statement = cxn.createStatement();
			ResultSet resultaat = statement.executeQuery("SELECT Gebruiker.PersoonID, Persoon.Naam, Persoon.Voornaam, Gebruiker.Gebruikersnaam, Gebruiker.Wachtwoord, Gebruiker.Taal, Gebruiker.Level FROM Gebruiker INNER JOIN Persoon ON Persoon.PersoonID = Gebruiker.PersoonID WHERE Gebruiker.Gebruikersnaam = '" + login + "'");		
			if(resultaat.next()){
				String naam = resultaat.getString("Naam");
				int id = resultaat.getInt("PersoonID");
				String voornaam = resultaat.getString("Voornaam");
				String gebruikersnaam = resultaat.getString("Gebruikersnaam");
				String wachtwoord = resultaat.getString("Wachtwoord");
				String taal = resultaat.getString("Taal");
				int level = resultaat.getInt("Level");
				return new Gebruiker(id, naam, voornaam, gebruikersnaam, wachtwoord, taal, level);
			}
			else {
				throw new WrongLoginException();
			}
		}
		catch(WrongLoginException loginError){
			throw loginError;
		}
		catch(Exception exception){
			throw exception;
		}
	}
}